/** avr-libc version macros

	---
	import avr.version_;
	---

	This header file defines macros that contain version numbers and
	strings describing the current version of avr-libc.

	The version number itself basically consists of three pieces that
	are separated by a dot: the major number, the minor number, and
	the revision number.  For development versions (which use an odd
	minor number), the string representation additionally gets the
	date code (YYYYMMDD) appended.

	This file will also be included by `avr.io`.  That way,
	portable tests can be implemented using `avr.io` that can be
	used in code that wants to remain backwards-compatible to library
	versions prior to the date when the library version API had been
	added, as referenced but undefined C preprocessor macros
	automatically evaluate to 0.

	avrd adds __AVRD_MAJOR__, __AVRD_MINOR__, __AVRD_REVISION__ for the wrapper version
*/
module avr.version_;

/* Copyright (c) 2005, Joerg Wunsch
   All rights reserved.

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions are met:

   * Redistributions of source code must retain the above copyright
     notice, this list of conditions and the following disclaimer.

   * Redistributions in binary form must reproduce the above copyright
     notice, this list of conditions and the following disclaimer in
     the documentation and/or other materials provided with the
     distribution.

   * Neither the name of the copyright holders nor the names of
     contributors may be used to endorse or promote products derived
     from this software without specific prior written permission.

  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  POSSIBILITY OF SUCH DAMAGE. */

/* $Id: version.h.in 870 2005-09-12 20:18:12Z joerg_wunsch $ */

/// String literal representation of the current library version.
enum __AVR_LIBC_VERSION_STRING__ = "2.0.0";

/**
	Numerical representation of the current library version.

	In the numerical representation, the major number is multiplied by
	10000, the minor number by 100, and all three parts are then
	added.  It is intented to provide a monotonically increasing
	numerical value that can easily be used in numerical checks.
*/
enum __AVR_LIBC_VERSION__ = 2_00_00UL;

/// String literal representation of the release date.
enum __AVR_LIBC_DATE_STRING__ = "20150208";

/// Numerical representation of the release date.
enum __AVR_LIBC_DATE_ = 2015_02_08UL;

/// Library major version number.
enum __AVR_LIBC_MAJOR__ = 2;

/// Library minor version number.
enum __AVR_LIBC_MINOR__ = 0;

/// Library revision number.
enum __AVR_LIBC_REVISION__ = 0;

/// avrd port major version number.
enum __AVRD_MAJOR__ = 0;
/// avrd port minor version number.
enum __AVRD_MINOR__ = 1;
/// avrd port revision version number.
enum __AVRD_REVISION__ = 0;
